package com.heima.api.wemedia;

import com.heima.model.common.dtos.ResponseResult;
import com.heima.model.wemedia.dtos.NewsAuthDto;
import com.heima.model.wemedia.dtos.WmNewsDto;
import com.heima.model.wemedia.dtos.WmNewsPageReqDto;
import com.heima.model.wemedia.pojos.WmNews;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

/**
 * 自媒体文章接口
 */
public interface WmNewsControllerApi {

    /**
     * 文章审核成功
     * @param dto
     * @return
     */
    public ResponseResult authPass(NewsAuthDto dto);

    /**
     * 文章审核失败
     * @param dto
     * @return
     */
    public ResponseResult authFail(NewsAuthDto dto);

    /**
     * 查询文章详情
     * @param id
     * @return
     */
    public ResponseResult findWmNewsVo(Integer id) ;

    /**
     * 查询文章列表
     * @param dto
     * @return
     */
    public ResponseResult findList(NewsAuthDto dto);

    /**
     * 查询需要发布的文章id列表
     * @return
     */
    List<Integer> findRelease();

    /**
     * 分页带条件查询自媒体文章列表
     * @param dto
     * @return
     */
    public ResponseResult findAll(@RequestBody WmNewsPageReqDto dto);

    /**
     * 提交文章
     * @return
     */
    public ResponseResult submitNews(@RequestBody WmNewsDto wmNews);

    /**
     * 根据id获取文章信息
     * @return
     */
    public ResponseResult findWmNewsById(@PathVariable("id") Integer id);

    /**
     * 删除文章
     * @return
     */
    public ResponseResult delNews(@PathVariable("id") Integer id);

    /**
     * 上下架
     * @param dto
     * @return
     */
    public ResponseResult downOrUp(@RequestBody WmNewsDto dto);

    /**
     * 根据id查询文章
     * @param id
     * @return
     */
    public WmNews findById(@PathVariable("id") Integer id);

    /**
     * 修改文章
     * @param wmNews
     * @return
     */
    public ResponseResult updateWmNews(@RequestBody WmNews wmNews);
}